﻿package com.wongoing.sys.service;

import java.util.List;

import com.wongoing.base.BaseService;
import com.wongoing.sys.model.SysPermission;
import com.wongoing.sys.model.ext.SysPermissionExt;

public interface SysPermissionService extends BaseService<SysPermission, java.io.Serializable> {
	/**
	 * 功能说明：根据状态查询权限项列表
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:46:50
	 * @param status 查询参数：状态
	 * @param type 查询参数：类型
	 * @return 返回符合条件的权限项记录集合
	 */
	public List<SysPermission> getByStatusAndType(String status, String type);
	
	/**
	 * 功能说明：根据用户名和状态查询权限项列表
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:48:06
	 * @param account 查询参数：账户
	 * @param status 查询参数：状态
	 * @param type 查询参数：类型
	 * @return 返回符合条件的权限项记录集合
	 */
	public List<SysPermission> getByUserAccount(String account, String status, String type);
	
	/**
	 * 功能说明：根据角色ID获取权限
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:49:19
	 * @param roleId 查询参数：角色Id
	 * @param status 查询参数：状态
	 * @return
	 */
	public List<SysPermission> getByRoleId(Integer roleId, String status);
	
	/**
	 * 功能说明：根据状态查询权限项字符串列表
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:50:09
	 * @param status 查询参数：状态
	 * @param type 查询参数：类型
	 * @return 返回符合条件的字符串集合
	 */
	public List<String> getSysIdByStatusAndType(String status, String type);
	
	/**
	 * 功能说明：根据用户名和状态查询权限项字符串列表
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:50:09
	 * @param account 查询参数：账户
	 * @param status 查询参数：状态
	 * @param type 查询参数：类型
	 * @return
	 */
	public List<String> getSysIdByUserAccount(String account, String status, String type);
	
	/**
	 * 功能说明：根据状态和使用标识获取权限列表（页面展示）
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:51:30
	 * @param status 查询参数：状态
	 * @param isUsed 查询参数：是否使用标识
	 * @return 返回符合条件的权限扩展项集合
	 */
	public List<SysPermissionExt> getPermissionListByParam(String status, String isUsed);
	
	/**
	 * 功能说明：各种菜单（树形控件）中使用的权限列表数据
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2017年10月13日 下午9:52:55
	 * @param status 查询参数：状态
	 * @param isUsed 查询参数：是否使用标识
	 * @return
	 */
	public List<SysPermission> getListByParamToMenu(String status, String isUsed);
}
